home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / 2924.ZIP / DMLXREF.ARC / DML.DOC next >
Encoding:
Text File  |  1988-12-28  |  12.1 KB  |  361 lines

  1. .R:E
  2. .W:96
  3. .H:...DML UNIT Version 1.00...
  4. .H:...$$Day Mon D, YEAR$$  $$Z:MI A.M.$$     Page $$$...
  5. .H:
  6. .F:
  7. .F:... Copyright (c) 1989, by DML Software Inc. ...
  8. .X:8
  9.  
  10. DML is a collection of 87 useful routines not found in the standard Turbo 
  11. Pascal Version 5.0 Library.  Full source code and documentation is included 
  12. for the entire library.  
  13.  
  14. The entire library can be accessed by a single USE DML statement, or the four 
  15. unit modules can be accessed indiviadually by a USE GEN, NUM, STRG, KBD
  16. statement.  Because of Turbo Pascal's smart linking, the distrinction is moot. 
  17. Because the individual UNITs take advantage of circular references, they 
  18. are NOT immediately source level compatible with Turbo Pascal 4.0, but the 
  19. overall DML UNIT is Turbo Pascal 4.0 source level compatible. 
  20.  
  21. The demo program DMLTEST exercises every unit call.
  22.  
  23.  
  24. This overall documentation is in three sections:
  25.  
  26. A) UNIT INTERFACES
  27. B) PROCEDURE ALPHABETICAL LISTING
  28. C) FILES ON DISK 
  29.  
  30. 
  31.  
  32. A) UNIT INTERFACES
  33.  
  34. ---------------------------------------------------------------------------
  35. I) GEN.TPU - GENERAL PURPOSE PROCEDURES (42)
  36. ---------------------------------------------------------------------------
  37.  
  38. 1)   System programming extensions (5)
  39.  
  40. PROCEDURE Abend(ExitCode : BYTE; ProcAddr : POINTER);
  41. PROCEDURE CallProcedure(ProcAddr : POINTER);
  42. PROCEDURE CallProcedureX(    ProcAddr : POINTER; 
  43.                              I1       : INTEGER;
  44.                          VAR S1       : STRING;
  45.                          VAR I2       : INTEGER);
  46. FUNCTION LongAddr(Seg, Ofs : WORD) : LONGINT;
  47. FUNCTION Same (VAR Var1, Var2; Len : WORD) : BOOLEAN;
  48.  
  49. 2)   File I/O and Protection (5)
  50.  
  51. FUNCTION ReadOnlyExist(FileName : STRING) : BOOLEAN;
  52. FUNCTION ReadOnlyGetAttr(FileName : STRING) : BOOLEAN;
  53. FUNCTION ReadOnlySetAttr(FileName : STRING ; Flag : BOOLEAN) : INTEGER;
  54. FUNCTION FileOpen(VAR GenFileDummy; 
  55.                       GenFileRecLen   : WORD; 
  56.                       GenFileOpenMode : WORD) : INTEGER; 
  57. FUNCTION FileAssignAndOpen(    GenFileName     : STRING; 
  58.                            VAR GenFileDummy; 
  59.                                GenFileRecLen   : WORD; 
  60.                                GenFileOpenMode : WORD) : BOOLEAN; 
  61.  
  62. 3)   Text Encryption (2)
  63.  
  64. FUNCTION EnCrypt (Orig : STRING) : STRING;
  65. FUNCTION DeCrypt (Orig : STRING) : STRING;
  66.  
  67. 4)   General Purpose Video (7)
  68.  
  69. PROCEDURE GenBeep (Frequency, Duration : WORD);
  70. FUNCTION ColorMonitorInstalled : BOOLEAN;
  71. PROCEDURE Cursor (Visible : BOOLEAN);
  72. PROCEDURE CursorInsertSize;
  73. PROCEDURE CursorOverwriteSize;
  74. FUNCTION ScrBackCursorColor : WORD;
  75. FUNCTION ScrForeCursorColor : WORD;
  76.  
  77. 
  78.  
  79. 5)   Video Messages (6)
  80.  
  81. PROCEDURE Pause;
  82. PROCEDURE ScrErrMsg (Message : STRING );
  83. PROCEDURE ScrStatMsg (Message : STRING);
  84. FUNCTION ScrYN (Message : STRING) : BOOLEAN;
  85. FUNCTION ScrYouAreSure (Message : STRING ) : BOOLEAN;
  86. PROCEDURE Wait (DispWait : BOOLEAN);
  87.  
  88. 6)   Disk and Memory Sizes (4)
  89.  
  90. FUNCTION BytesOnDiskFree(Drive : CHAR) : LONGINT;
  91. FUNCTION FreeDOSMem : LONGINT;
  92. FUNCTION SizeOfMem : LONGINT;
  93. FUNCTION StackAvail : WORD;
  94.  
  95. 7)   Instruction Timing (2)
  96.  
  97. FUNCTION TimeElapsed : REAL;
  98. FUNCTION TimeTotal(Start , Stop : REAL) : STRING;
  99.  
  100. 8)   General Purpose File (4)
  101.  
  102. FUNCTION Exist (FileName: STRING) : BOOLEAN;
  103. FUNCTION LinesInFile (FileName : STRING) : INTEGER;
  104. FUNCTION GetFileDateAndTimeString  (FileName : STRING) : STRING;
  105. FUNCTION GetFileDateAndTimeLongInt (FileName : STRING) : LONGINT;
  106.  
  107. 9)   Math (2)
  108.  
  109. FUNCTION Power (X, Y : REAL) : REAL;
  110. FUNCTION Log (x : REAL) : REAL;
  111.  
  112. 10)  DOS and Environment (3)
  113.  
  114. FUNCTION DOSVersionR : REAL;
  115. FUNCTION WhoAmI : STRING;
  116. FUNCTION GetEnvString(EnvVar : STRING) : STRING;
  117.  
  118. 11)  Version Control (2)
  119.  
  120. FUNCTION GetDMLVersion(Module : WORD) : STRING;
  121. FUNCTION GetDMLVersions : STRING;
  122.  
  123. 
  124.  
  125. ---------------------------------------------------------------------------
  126. II) NUM.TPU - NUMERIC PROCEDURES (18)
  127. ---------------------------------------------------------------------------
  128.  
  129. 1)  General Numeric Formatting And Conversion (12)
  130.  
  131. FUNCTION B2S (Flag : BOOLEAN) : STRING;
  132.  
  133. FUNCTION W2S (Num : WORD;    Mask : STRING) : STRING;
  134. FUNCTION I2S (Num : INTEGER; Mask : STRING) : STRING;
  135. FUNCTION L2S (Num : LONGINT; Mask : STRING) : STRING;
  136.  
  137. FUNCTION R2S (Num : REAL;   Mask : STRING) : STRING;
  138. FUNCTION D2S (Num : DOUBLE; Mask : STRING) : STRING;
  139.  
  140. FUNCTION S2R (Source : STRING) : REAL;
  141. FUNCTION S2D (Source : STRING) : DOUBLE;
  142.  
  143. FUNCTION StrNumTest (Fld : STRING) : StrNumType;
  144.  
  145. FUNCTION S2L (Source : STRING) : LONGINT;
  146. FUNCTION S2I (Source : STRING) : INTEGER;
  147. FUNCTION S2W (Source : STRING) : WORD;
  148.  
  149. 2)  Date and Time Formatting And Conversion (6)
  150.  
  151. FUNCTION NumTh (Num : INTEGER) : STRING;
  152. PROCEDURE Date2R (VAR JulSec : REAL; DateTime : T_DateTime);
  153. PROCEDURE R2Date (JulSec : REAL; VAR DateTime : T_DateTime);
  154. FUNCTION Date2S (DateTime : T_DateTime; Mask : STRING) : STRING;
  155. PROCEDURE GetDOSDateAndTime (VAR JulSec : REAL; VAR DateTime : T_DateTime);
  156. PROCEDURE SetDOSDateAndTime (DateTime : T_DateTime);
  157.  
  158. 
  159.  
  160. ---------------------------------------------------------------------------
  161. III) STRG - STRING PROCEDURES (14)
  162. ---------------------------------------------------------------------------
  163.  
  164. 1)  General Purpose String (10)
  165.  
  166. FUNCTION RJS      (Source : STRING; Size : BYTE) : STRING;
  167. FUNCTION LJS      (Source : STRING; Size : BYTE) : STRING;
  168. FUNCTION CJS      (Source : STRING; Size : BYTE) : STRING;
  169. FUNCTION Strip    (Source : STRING; Code : BYTE) : STRING;
  170. FUNCTION StrCase  (Source : STRING; Code : BYTE) : STRING;
  171. FUNCTION StrField (Source : STRING; Delimiter : CHAR; Num : BYTE) : STRING;
  172. FUNCTION StrFill  (FillCh : CHAR; Num : BYTE) : STRING;
  173. FUNCTION StrPad   (Source : STRING) : STRING;
  174. FUNCTION StrShiftLeft  (Fld : STRING; Posit : BYTE) : STRING;
  175. FUNCTION StrShiftRight (Fld : STRING; Posit : BYTE; Fill : CHAR) : STRING;
  176.  
  177. 2)  String Conversion (4)
  178.  
  179. PROCEDURE S2C     (Strg : STRING ; VAR CharA ; Len : BYTE);
  180. FUNCTION C2S      (VAR CharA ; BYTE : WORD) : STRING;
  181. PROCEDURE S2Z     (Strg : STRING ; VAR CharA);
  182. FUNCTION Z2S      (VAR CharA) : STRING;
  183.  
  184. 
  185.  
  186. ---------------------------------------------------------------------------
  187. IV) KBD - KEYBOARD PROCEDURES (13)
  188. ---------------------------------------------------------------------------
  189.  
  190. 1)  General Purpose Keyboard (9)
  191.  
  192. FUNCTION KbdGetStatus : WORD;
  193. PROCEDURE KbdSetInsMode (InsMode : BOOLEAN);
  194. PROCEDURE KbdSetCapsLock (CapsLock : BOOLEAN);
  195. PROCEDURE KbdSetNumLock (NumLock : BOOLEAN);
  196. PROCEDURE KbdSetScrollLock (ScrollLock : BOOLEAN);
  197. FUNCTION KbdInsModeStatus : BOOLEAN;
  198. FUNCTION KbdCapsLockStatus : BOOLEAN;
  199. FUNCTION KbdNumLockStatus : BOOLEAN;
  200. FUNCTION KbdScrollLockStatus : BOOLEAN;
  201.  
  202. 2)  Keyboard Buffer (4)
  203.  
  204. PROCEDURE KbdClear;
  205. FUNCTION KbdNumValuesWaiting : WORD;
  206. FUNCTION KbdInputValue : WORD;
  207. FUNCTION KbdKeyWaiting : BOOLEAN;
  208.  
  209. 
  210.  
  211. B) PROCEDURE ALPHABETICAL LISTING
  212.  
  213. Procedure Name                             UNIT
  214.  
  215. Abend                                      GEN
  216. B2S                                        NUM
  217. BytesOnDiskFree                            GEN
  218. C2S                                        STRG
  219. CallProcedure                              GEN
  220. CallProcedureX                             GEN
  221. CJS                                        STRG
  222. ColorMonitorInstalled                      GEN
  223. Cursor                                     GEN
  224. CursorInsertSize                           GEN
  225. CursorOverwriteSize                        GEN
  226. D2S                                        NUM
  227. Date2R                                     NUM
  228. Date2S                                     NUM
  229. DeCrypt                                    GEN
  230. DOSVersionR                                GEN
  231. EnCrypt                                    GEN
  232. Exist                                      GEN
  233. FileAssignAndOpen                          GEN
  234. FileOpen                                   GEN
  235. FreeDOSMem                                 GEN
  236. GenBeep                                    GEN
  237. GetDMLVersion                              GEN
  238. GetDMLVersions                             GEN
  239. GetDOSDateAndTime                          NUM
  240. GetEnvString                               GEN
  241. GetFileDateAndTimeLongInt                  GEN
  242. GetFileDateAndTimeString                   GEN
  243. I2S                                        NUM
  244. KbdCapsLockStatus                          KBD
  245. KbdClear                                   KBD
  246. KbdGetStatus                               KBD
  247. KbdInputValue                              KBD
  248. KbdInsModeStatus                           KBD
  249. KbdKeyWaiting                              KBD
  250. KbdNumLockStatus                           KBD
  251. KbdNumValuesWaiting                        KBD
  252. KbdScrollLockStatus                        KBD
  253. KbdSetCapsLock                             KBD
  254. KbdSetInsMode                              KBD
  255. KbdSetNumLock                              KBD
  256. KbdSetScrollLock                           KBD
  257. L2S                                        NUM
  258. LJS                                        STRG
  259. LinesInFile                                GEN
  260. LongAddr                                   GEN
  261. Log                                        GEN
  262. NumTh                                      NUM
  263. Pause                                      GEN
  264. Power                                      GEN
  265. R2Date                                     NUM
  266. R2S                                        NUM
  267. ReadOnlyExist                              GEN
  268. ReadOnlyGetAttr                            GEN
  269. ReadOnlySetAttr                            GEN
  270. RJS                                        STRG
  271. S2C                                        STRG
  272. S2D                                        NUM
  273. S2I                                        NUM
  274. S2L                                        NUM
  275. S2R                                        NUM
  276. S2W                                        NUM
  277. S2Z                                        STRG
  278. Same                                       GEN
  279. ScrBackCursorColor                         GEN
  280. ScrErrMsg                                  GEN
  281. ScrForeCursorColor                         GEN
  282. ScrStatMsg                                 GEN
  283. ScrYN                                      GEN
  284. ScrYouAreSure                              GEN
  285. SetDOSDateAndTime                          NUM
  286. SizeOfMem                                  GEN
  287. StackAvail                                 GEN
  288. StrCase                                    STRG
  289. StrField                                   STRG
  290. StrFill                                    STRG
  291. Strip                                      STRG
  292. StrNumTest                                 NUM
  293. StrPad                                     STRG
  294. StrShiftLeft                               STRG
  295. StrShiftRight                              STRG
  296. TimeElapsed                                GEN
  297. TimeTotal                                  GEN
  298. W2S                                        NUM
  299. Wait                                       GEN
  300. WhoAmI                                     GEN
  301. Z2S                                        STRG
  302.  
  303. 
  304.  
  305. C) FILES ON DISK (35)
  306.  
  307. 1) SOURCE FILES: *.PAS, INT, IMP, INC (16)
  308.  
  309.   DML.PAS       - Unit
  310.   DMLINIT.INC   - Unit Initialization
  311.  
  312.   GEN.PAS       - Unit
  313.   GEN.INT       - Unit Interface
  314.   GEN.IMP       - Unit Implementation
  315.   
  316.   NUM.PAS       - Unit
  317.   NUM.INT       - Unit Interface
  318.   NUM.IMP       - Unit Implementation
  319.  
  320.   STRG.PAS      - Unit
  321.   STRG.INT      - Unit Interface
  322.   STRG.IMP      - Unit Implementation
  323.  
  324.   KBD.PAS       - Unit
  325.   KBD.INT       - Unit Interface
  326.   KBD.IMP       - Unit Implementation
  327.  
  328.   DMLTEST.PAS   - Unit test program
  329.   XREF.PAS      - Cross reference program
  330.  
  331. 2) UNIT FILES: *.TPU (6)
  332.  
  333.   DML.TPU
  334.   GEN.TPU
  335.   NUM.TPU
  336.   STRG.TPU
  337.   KBD.TPU
  338.   HEAPTREE.TPU  - Quasi B-Tree for Xref program
  339.  
  340. 3) PROGRAM FILES: *.EXE (2)
  341.  
  342.   DMLTEST.EXE
  343.   XREF.EXE
  344.  
  345. 
  346.  
  347. 4) DOCUEMENTATION FILES: *.DOC, TBL (PC-WRITE Format) (11)
  348.  
  349.   DML.DOC       - This file
  350.   GEN.DOC
  351.   NUM.DOC
  352.   STRG.DOC
  353.   KBD.DOC
  354.   GEN.TBL       - Table of Contents files
  355.   NUM.TBL
  356.   STRG.TBL
  357.   KBD.TBL
  358.   XREF.DOC
  359.   README.DOC    - Read me first
  360.  
  361.